1. Field of the Invention
This invention relates to backup and recovery software for a computer system. More particularly, the invention relates to a system and method for efficiently restoring a plurality of deleted files to a file system volume.
2. Description of the Related Art
Many computer systems use data stored as files in a file system volume. Backup software is often used to backup the files to protect against data loss or data corruption. One general type of backup technique is to create a backup image of the entire file system volume. The backup image may represent a copy of the volume at a certain point in time, e.g., may include a copy of the data for all the files in the volume as the data exists at that point in time. The backup software may operate to create backup images at scheduled intervals. Recovery software can then use the backup images to restore the data in the event that it becomes necessary to do so. For example, the user may select to restore one or more files from the most recent backup image and/or from one or more of the older backup images.
Another general type of backup technique is referred to as continuous data protection (CDP). In a CDP solution, the file data is continuously backed up in real time as the files in the volume are changed. For example, continuous data protection may be provided for the volume at the block level. Each time a data block of a file in the volume is changed, a copy of the block may be copied into a CDP log, along with a timestamp indicating the current time. Thus, for any given block in the volume, there may be multiple copies of the block in the CDP log, where each copy corresponds to one of the times when the block was changed. Since the data is continuously backed up, the CDP log can be used to restore the volume to its state as it existed at virtually any specified point in time by using the timestamp information in the CDP log to find the appropriate copy of each respective block of the volume, e.g., the copy which represents the state of the respective block at the specified point in time.